# 单例模式


class MusicPlayer(object):
    # 记录第一个创建对象的地址
    instance = None

    init_flag = False

    def __new__(cls, *args, **kwargs):
        # 判断类属性是否是空对象
        if cls.instance is None:
            cls.instance = super().__new__(cls)
        return cls.instance
        pass

    def __init__(self):
        # 判断类属性是否执行了初始化
        if not MusicPlayer.init_flag:
            # 没有执行初始化, 那么进行初始化
            print("执行初始化")
            MusicPlayer.init_flag = True


# 创建多个对象
plyer1 = MusicPlayer()
print(plyer1)
plyer2 = MusicPlayer()
print(plyer2)
